#ifndef __PID_H__
#define __PID_H__

#include "common.h"

// PID控制器结构体
typedef struct
{
    float Kp;        // 比例系数
    float Ki;        // 积分系数
    float Kd;        // 微分系数
    float Setpoint;  // 目标设定值
    float Integral;  // 积分累计
    float LastError; // 上一次误差
    float Output;    // PID输出
    uint8 direction;   // 方向
} PID_TypeDef;

// PID初始化函数
void PID_Init(PID_TypeDef *pid, float Kp, float Ki, float Kd, float Setpoint,);

// PID计算函数
float PID_Calculate(PID_TypeDef pid, float measuredValue);

void loop_contor(PID_TypeDef *pid, int16 motor_duty_tag);
#endif // __PID_H__